package k1_exercise;

import java.util.Arrays;

public class Array_findNotZeroItemBySelf {
    /**
     *  在原数组中把非零元素提前，所有0放在最后
     *  v={3,2,4,5,7,0,0,0,6,0,9,0,8} => {3,2,4,5,7,6,9,8,0,0,0,0,0}
     */
    public static void main(String[] args) {

        int[] nums = {3,2,4,5,7,0,0,0,6,0,9,0,8,0,0,0,0,0,0,0,0};

        all:for (int i = 0; i < nums.length; i++) {
            //如果当前元素是非零元素，什么都不做
            if(nums[i]==0){
                //从当前的0元素的下一位开始找后面的第一个非零元素，做数据交换
                for (int j = i+1; j < nums.length; j++) {
                    if(nums[j]!=0){
                        nums[i] = nums[j];
                        nums[j] = 0;
                        break;
                    }
                    //如果j能遍历到最后，说明当前位置后面所有的元素都是0，此时跳出所有循环
                    if(j == nums.length-1){
                        break all;
                    }
                }
            }
        }

        System.out.println(Arrays.toString(nums));



    }
}
